package com.wct.mall.common;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.HashMap;
import java.util.Map;

/**
 * @author WEI
 * @date 2020/3/22
 */
@Getter
@Setter
@ToString
public class JsonData {

    /**
     * 请求是否成功
     */
    private boolean ret;
    /**
     * 状态码
     */
    private int code;
    /**
     * 错误信息
     */
    private String msg;
    /**
     * 返回数据
     */
    private Object data;

    public JsonData(boolean ret) {
        this.ret = ret;
    }

    public static JsonData success(Object object, String msg) {
        JsonData jsonData = new JsonData(true);
        jsonData.data = object;
        jsonData.msg = msg;
        jsonData.code = ResultCode.SUCCESS.getCode();
        return jsonData;
    }

    public static JsonData success(Object object) {
        JsonData jsonData = new JsonData(true);
        jsonData.data = object;
        jsonData.code = ResultCode.SUCCESS.getCode();
        return jsonData;
    }

    public static JsonData success() {
        JsonData jsonData = new JsonData(true);
        jsonData.code = ResultCode.SUCCESS.getCode();
        return jsonData;
    }

    public static JsonData fail(String msg) {
        JsonData jsonData = new JsonData(false);
        jsonData.msg = msg;
        jsonData.code = ResultCode.FAILED.getCode();
        return jsonData;
    }

    public Map<String, Object> toMap() {
        HashMap<String, Object> result = new HashMap<String, Object>(4);
        result.put("ret", ret);
        result.put("msg", msg);
        result.put("data", data);
        result.put("code", code);
        return result;
    }
}
